package com.dragon.modules.yuegou.model.member;

import com.dragon.modules.yuegou.entity.member.ProMagnificationPointEntity;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 商品倍率积分/多倍积分表模型类
 * 
 * @author pbuilder generated
 * @date 2022-05-18 10:53:24
 * @company sgy
 * @version 2.0
 * @see Length 长度限制
 * @see NotNull 对象非空
 * @see NotEmpty 字符串、集合、表、数组非空
 */
public class ProMagnificationPoint extends ProMagnificationPointEntity {

	@ApiModelProperty("积分配比类型 0-线上，1-线下")
	private List<Integer> ratioList;

	public List<Integer> getRatioList() {
		return ratioList;
	}

	public void setRatioList(List<Integer> ratioList) {
		this.ratioList = ratioList;
	}

	/**
	 * 构造一个空商品倍率积分/多倍积分表模型对象
	 */
	public ProMagnificationPoint(){
		super();
	}
	
	/**
	 * 依据实体对象的信息构造一个商品倍率积分/多倍积分表模型对象
	 * 
	 * @param entity 实体对象
	 */
	public ProMagnificationPoint(ProMagnificationPointEntity entity){
		super(entity);
	}

	/**
	 * 依据其它对象的信息构造一个商品倍率积分/多倍积分表模型对象
	 * 
	 * @param other 其它对象
	 */
	public ProMagnificationPoint(ProMagnificationPoint other){
		super(other);
	}


	@Override
	public String getId() {
    	return id;
    }

    /**
	 * 设置id
	 * 
	 * @param id id
	 * @return 当前对象
	 */
    public ProMagnificationPoint id(String id) {
    	this.id = id;
    	return this;
    }

	@Override
	public String getBusdId() {
    	return busdId;
    }

    /**
	 * 设置商圈id
	 * 
	 * @param busdId 商圈id
	 * @return 当前对象
	 */
    public ProMagnificationPoint busdId(String busdId) {
    	this.busdId = busdId;
    	return this;
    }

	@Override
	public String getName() {
    	return name;
    }

    /**
	 * 设置多倍积分权益名称
	 * 
	 * @param name 多倍积分权益名称
	 * @return 当前对象
	 */
    public ProMagnificationPoint name(String name) {
    	this.name = name;
    	return this;
    }

	@Override
	public String getContent() {
    	return content;
    }

    /**
	 * 设置多倍积分权益内容
	 * 
	 * @param content 多倍积分权益内容
	 * @return 当前对象
	 */
    public ProMagnificationPoint content(String content) {
    	this.content = content;
    	return this;
    }

	@Override
	public Integer getGainPoint() {
    	return gainPoint;
    }

    /**
	 * 设置获取积分
	 * 
	 * @param gainPoint 获取积分
	 * @return 当前对象
	 */
    public ProMagnificationPoint gainPoint(Integer gainPoint) {
    	this.gainPoint = gainPoint;
    	return this;
    }

	@Override
	public Integer getBeforePoint() {
    	return beforePoint;
    }

    /**
	 * 设置原始积分
	 * 
	 * @param beforePoint 原始积分
	 * @return 当前对象
	 */
    public ProMagnificationPoint beforePoint(Integer beforePoint) {
    	this.beforePoint = beforePoint;
    	return this;
    }

	@Override
	public BigDecimal getGainRate() {
    	return gainRate;
    }

    /**
	 * 设置获取积分比率
	 * 
	 * @param gainRate 获取积分比率
	 * @return 当前对象
	 */
    public ProMagnificationPoint gainRate(BigDecimal gainRate) {
    	this.gainRate = gainRate;
    	return this;
    }

	@Override
	public Boolean getEnableStatus() {
    	return enableStatus;
    }

    /**
	 * 设置启用状态（1：启用 0：禁用）
	 * 
	 * @param enableStatus 启用状态（1：启用 0：禁用）
	 * @return 当前对象
	 */
    public ProMagnificationPoint enableStatus(Boolean enableStatus) {
    	this.enableStatus = enableStatus;
    	return this;
    }

	@Override
	public String getLevelId() {
    	return levelId;
    }

    /**
	 * 设置等级ID
	 * 
	 * @param levelId 等级ID
	 * @return 当前对象
	 */
    public ProMagnificationPoint levelId(String levelId) {
    	this.levelId = levelId;
    	return this;
    }

	@Override
	public String getLevelName() {
    	return levelName;
    }

    /**
	 * 设置等级名称
	 * 
	 * @param levelName 等级名称
	 * @return 当前对象
	 */
    public ProMagnificationPoint levelName(String levelName) {
    	this.levelName = levelName;
    	return this;
    }

	@Override
	public LocalDateTime getCreatedTime() {
    	return createdTime;
    }

    /**
	 * 设置
	 * 
	 * @param createdTime 
	 * @return 当前对象
	 */
    public ProMagnificationPoint createdTime(LocalDateTime createdTime) {
    	this.createdTime = createdTime;
    	return this;
    }

	@Override
	public String getCreatedBy() {
    	return createdBy;
    }

    /**
	 * 设置
	 * 
	 * @param createdBy 
	 * @return 当前对象
	 */
    public ProMagnificationPoint createdBy(String createdBy) {
    	this.createdBy = createdBy;
    	return this;
    }

	@Override
	public LocalDateTime getModifiedTime() {
    	return modifiedTime;
    }

    /**
	 * 设置
	 * 
	 * @param modifiedTime 
	 * @return 当前对象
	 */
    public ProMagnificationPoint modifiedTime(LocalDateTime modifiedTime) {
    	this.modifiedTime = modifiedTime;
    	return this;
    }

	@Override
	public String getModifiedBy() {
    	return modifiedBy;
    }

    /**
	 * 设置
	 * 
	 * @param modifiedBy 
	 * @return 当前对象
	 */
    public ProMagnificationPoint modifiedBy(String modifiedBy) {
    	this.modifiedBy = modifiedBy;
    	return this;
    }

	@Override
	public Boolean getDel() {
    	return del;
    }

    /**
	 * 设置删除 0-未删除；1-已删除
	 * 
	 * @param del 删除 0-未删除；1-已删除
	 * @return 当前对象
	 */
    public ProMagnificationPoint del(Boolean del) {
    	this.del = del;
    	return this;
    }

	@Override
	public LocalDateTime getDelTime() {
    	return delTime;
    }

    /**
	 * 设置
	 * 
	 * @param delTime 
	 * @return 当前对象
	 */
    public ProMagnificationPoint delTime(LocalDateTime delTime) {
    	this.delTime = delTime;
    	return this;
    }

	@Override
	public String getDelBy() {
    	return delBy;
    }

    /**
	 * 设置
	 * 
	 * @param delBy 
	 * @return 当前对象
	 */
    public ProMagnificationPoint delBy(String delBy) {
    	this.delBy = delBy;
    	return this;
    }

	@Override
	public String getRatio() {
    	return ratio;
    }

    /**
	 * 设置积分配比类型 多个 0,1
	 * 
	 * @param ratio 积分配比类型 多个 0,1
	 * @return 当前对象
	 */
    public ProMagnificationPoint ratio(String ratio) {
    	this.ratio = ratio;
    	return this;
    }

	@Override
	public Integer getOnlineGainPoint() {
    	return onlineGainPoint;
    }

    /**
	 * 设置线上获取积分
	 * 
	 * @param onlineGainPoint 线上获取积分
	 * @return 当前对象
	 */
    public ProMagnificationPoint onlineGainPoint(Integer onlineGainPoint) {
    	this.onlineGainPoint = onlineGainPoint;
    	return this;
    }

	@Override
	public Integer getOnlineBeforePoint() {
    	return onlineBeforePoint;
    }

    /**
	 * 设置线上原始积分
	 * 
	 * @param onlineBeforePoint 线上原始积分
	 * @return 当前对象
	 */
    public ProMagnificationPoint onlineBeforePoint(Integer onlineBeforePoint) {
    	this.onlineBeforePoint = onlineBeforePoint;
    	return this;
    }

	@Override
	public BigDecimal getOnlineGainRate() {
    	return onlineGainRate;
    }

    /**
	 * 设置线上获取积分比率
	 * 
	 * @param onlineGainRate 线上获取积分比率
	 * @return 当前对象
	 */
    public ProMagnificationPoint onlineGainRate(BigDecimal onlineGainRate) {
    	this.onlineGainRate = onlineGainRate;
    	return this;
    }

	@Override
	public String getOnlineContent() {
    	return onlineContent;
    }

    /**
	 * 设置线上多倍积分权益内容
	 * 
	 * @param onlineContent 线上多倍积分权益内容
	 * @return 当前对象
	 */
    public ProMagnificationPoint onlineContent(String onlineContent) {
    	this.onlineContent = onlineContent;
    	return this;
    }
}
